package com.mjf.spark.day03

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * 转换算子-flatMap
 *    对集合中的元素进行扁平化处理
 */
object Spark03_Transformation_flatMap {
  def main(args: Array[String]): Unit = {

    // 创建SparkConf配置文件
    val conf = new SparkConf().setMaster("local[*]").setAppName("Spark03_Transformation_flatmap")
    // 创建SparkContext对象
    val sc = new SparkContext(conf)

    val rdd: RDD[List[Int]] = sc.makeRDD(List(List(1, 2), List(3, 4), List(5, 6), List(7, 8)), 2)

    // 注意：匿名函数输入和输出相同时不能简化
    val newRDD: RDD[Int] = rdd.flatMap(datas => datas)

    newRDD.collect().foreach(println)

    // 关闭连接
    sc. stop()

  }
}
